Current computing devices typically store their operating system locally within the device. This operating system run time image is typically stored, either raw or compressed, in a slower read-only memory (ROM) memory such as Flash ROM. This image is then loaded from the Flash memory (and uncompressed if necessary) to local random access memory (RAM), which provides much better performance during the operation of the device. This general operating architecture, however, presents a significant drawback to next generation consumer computing devices as they are being developed.
Specifically, many of these next generation consumer computing devices are typically small, compact devices that provide specific limited functionality at a significantly reduced cost that consumers can afford. Recognizing that such devices do not require all of the functionality provided by the operating system of a typical home computer, “abbreviated” operating systems, such as the Windows CE brand operating system provided by the Assignee of the instant application, have been developed for usage in such devices. While the amount of memory required by such operating systems is greatly reduced compared to their full-blown cousins, it is not uncommon for such operating systems to require approximately thirty megabytes of storage space. Unfortunately, the cost of the flash memory in which the operating system image is stored is quite expensive. It is not uncommon for such Flash memory to add $35 to $40 to the cost of the consumer device, simply to store the operating system image. This cost is unacceptable for such consumer devices.
For networked devices, various systems and methods are known for downloading the operating system image from the network. Systems and methods that employ this remote boot technology typically conform either to the Wired for Management (WfM) specifications or the Pre-Boot Execution Environment (PXE), Remote Program Load (RPL), Boot Strap Protocol (BOOTP), etc. protocols. Other systems such as Etherboot, which creates ROM images that can download code over an Ethernet network to be executed on an x86 computer, are compliant with the open source, Multiboot specification. Such systems and methods can reduce or eliminate the reliance on booting from solid-state devices, such as Flash memory, and can allow for the centralizing of software administration. This latter benefit ensures that updates, bug fixes, security patches, etc., are utilized by the devices at each boot.
While such network booting systems and methods allow a computing device to download the operating system from the network, which would thereby reduce the amount of flash memory required by the device, such current systems are inappropriate for certain types of consumer computing devices that require a high level of security. For example, consumer computing devices developed to play audio/video content, for example, Hollywood movies, must have very high levels of security to prevent unauthorized hacker programs from being run on them that could potentially allow the cracking of the encryption used to secure the A/V content. If such hacker programs could be run on such consumer computing devices, than there is a serious threat of the audio/video content being stolen and made available without the security mechanisms (encryption) via the Internet, pirated DVDs and VHS cassettes, etc. In view of the serious threat to the audio/video industry of such loss of content protection, consumer computing devices capable of playing such A/V content cannot utilize such network boot-loader programs, and must instead continue to rely on the secure storage of the operating system image in secured Flash memory.
There exists, therefore, a need in the art for a network boot system and method that can maintain the levels of security required to ensure the maintenance of digital rights management for A/V content to prevent unauthorized hacking of the content protection mechanisms and to reduce the cost component of the consumer computing device attributable to the amount of Flash memory required.